﻿using System.Collections.ObjectModel;
namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    [System.Xml.Serialization.XmlRootAttribute("GraphStyle", Namespace = "http://www.opengis.net/gml", IsNullable = false)]
    public class GraphStyleType : BaseStyleDescriptorType
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("planar")]
        public bool Planar { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PlanarSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("directed")]
        public bool Directed { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DirectedSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("grid")]
        public bool Grid { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GridSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("minDistance")]
        public double MinDistance { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinDistanceSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("minAngle")]
        public double MinAngle { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool MinAngleSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("graphType")]
        public GraphTypeType GraphType { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool GraphTypeSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("drawingType")]
        public DrawingTypeType DrawingType { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DrawingTypeSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("lineType")]
        public LineTypeType LineType { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool LineTypeSpecified { get; set; }

        private Collection<AesheticCriteriaType> _aestheticCriterias = new Collection<AesheticCriteriaType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("aestheticCriteria")]
        public Collection<AesheticCriteriaType> AestheticCriterias 
        {
            get
            {
                return this._aestheticCriterias;
            }
        }
    }
}
